#include"TcpServer.hpp"
#include"Command.hpp"
#include<memory>
using namespace std;

//   ./tcpserver 8888
int main(int argc,char* argv[])
{
    if(argc!=2)
    {
        cerr<<"Usage: "<<argv[0]<<"local-port"<<endl;
        exit(0);
    }
    uint16_t port = stoi(argv[1]);
    
    Command cmdservice;
    std::unique_ptr<TcpServer> tsvr = std::make_unique<TcpServer>(
        std::bind(&Command::HandlerCommand,
                  &cmdservice, std::placeholders::_1,
                  std::placeholders::_2),
        port);
    tsvr->InitServer();
    tsvr->Loop();
    
    return 0;
}